package com.baofu.paycore.service.facade.model.withdraw;

import lombok.*;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.NotBlank;

import javax.validation.constraints.Min;
import java.io.Serializable;

/**
 * 提现资金单
 * <ul>
 * <li>方法列表</li>
 * </ul>
 *
 * @author LZQ
 */
@Getter
@Setter
@NoArgsConstructor
@ToString
public class WithDrawFundDTO implements Serializable {

    /**
     * 序列化ID
     */
    private static final long serialVersionUID = 8329367670135706534L;

    /**
     * 协议组成编号
     */
    @NotBlank(message = "协议组成编号不能为空")
    private String agreeRelId;

    /**
     * 绑卡协议号
     */
    private String agreementNo;

    /**
     * 货币
     */
    @NotBlank(message = "货币类型不能为空")
    @Length(max = 3,message = "货币最大长度为3位")
    private String ccy;

    /**
     * 渠道支付金额
     */
    @Min(value = 1, message = "交易金额必须大于0")
    private long amt;

    /**
     * 业务收费金额
     */
    private Long bizChargeAmount;

    /**
     * 备注
     */
    @Length(max = 128, message = "备注信息长度不能超过128位")
    private String description;

}
